Messaging has become a popular communication means, driven (at least in part) by the development and expansion of the internet over recent years. It is now commonplace to be able to directly connect in an instantaneous manner from most locations using mobile devices or leave a message for a recipient, said message arranged possible by various means and in various formats. People communicate more and more frequently by means of mobile phone devices or computers. Even services normally provided by traditional devices, such as a direct telephone call between two people (by means of a traditional landline and fixed handset), can now be implemented using a computer and wireless communication across the internet. However, the traditional phone call is frequently a less preferred option, as the option of sending short messages is perceived as easier and cheaper, as well as becoming more socially acceptable.
The range and availability of messaging applications has rapidly expanded. Such messaging applications include text messaging, such as SMS (Short Messaging System or Service, suitable for short text messages up to a maximum length of characters) or multi media messaging, such as MMS (Multimedia Messaging Service, an extension of core SMS technology which allows for the sending of images, such as photos or videos, for example). Development of messaging applications is often driven by the increasing use of mobile devices, such as portable phones. Instant messaging is available through applications such as Jabber and Skype, which allow for exchange of text and files by internet users using a browser or an instant messaging client, and live chat systems such as LivePerson and Moxie which provide chat functionality in websites, among other uses. Generally speaking, a user of these applications chooses to install a particular application on a (often hand-held, mobile) device and accesses the basic functionality through the device. A user may, further, create an account with a company, such as Jabber, thereby creating a connection in order to access the functionality. The various messaging alternatives are thus accessed by conscious user choice and/or action.
Some companies, such as Twilio, allow the use of their proprietary messaging applications (by mean of an account) in association with, or embedded in, other applications. The user can build-in parts of the Twilio application package as part of their own software product, while maintaining an account relationship with Twilio. A mark-up language dedicated to Twilio is used and it is possible to initiate response to incoming calls or to initiate outgoing calls, for example. The functionality is targeted to provide communication access for sales and mass publicity, for example. The messaging options include SMS, phone calls etc. which can be accessed or connected across different media, such as web or phone connections. Particular language formats and software are available for incorporation into other products. Many of these exist in open source format, available to software developers and other companies, thereby allowing proliferation of the messaging applications. The Twilio product is based on cloud communication techniques to remove the need for reliance on traditional hardware. The cloud essentially acts as one large computing device, with components acting together in unison, each component relying on other components in real time and operational decisions being based on the status of the whole system. The system becomes a global entity, a resource for those connected to it by means of the application.
The implementation of messaging relies on a structure of basic protocols and industry standards. Each messaging system uses a propriety message transfer system to route messages between users. In the case of SMS, these protocols have been traditionally implemented in telecommunications hardware systems. More recently, software-based SMS systems have been developed which implement some, or all, of the SMS protocol in software running on servers. Kannel is an example of such an SMS system implemented in software. In the fullest terms, Kannel operates as a gateway to WAP (Wireless Application Protocol) infrastructure, thereby allowing access to a wider user base. In terms of mobile devices and messaging, it provides an SMS gateway for GSM (Global System for Mobile communications, relating to protocols for cellular networks used by mobile phones) networks. The software is provided as open source and therefore is publically available. Increasingly, development of the internet is driving increasing use of software for communication products.
Both hardware and software approaches are subject to difficulties and problems in implementation.
Hardware based SMS systems require the purchase and operation of dedicated hardware, which is both expensive to purchase and to operate. Moreover, these systems tend to lack functionality and cannot be easily scaled or used to provide new services.
Existing software systems are monolithic i.e. the computing functions all share the same computing resources, such as CPU (central processing unit), disk, memory, and I/O (input/output resources and functionality). For any such system, it is accepted that there are physical restrictions on how large a single platform or cluster (defined as loosely or tightly connected computer systems operating so as to mimic or achieve operation as a single computing entity) can become. In addition, increasing size invariably leads to increasing, prohibitive costs.
Current internet communications systems can scale to run across thousands of processors and can handle customer and traffic volumes several orders of magnitude larger than the largest of SMS systems. This creates a limitation for SMS as the full potential of the technology is not exploited or utilised.
Interfaces for SMS systems are generally restricted to trunk (designed to handle many signals simultaneously and form a node or switching centre in a communication system) and bulk (for batch or large data update) interfaces or to basic web interfaces, such as trunk or HTTP (HyperText Transfer Protocol) interfaces. More modern and frequently implemented protocols include SOAP (Simple Object Access Protocol, used for transfer of structured information in a web access environment which relies on other protocols such as HTTP) and XML (eXtensible Markup Language, defining rules for formatting such that the result is readable by human and machine), for example. Implementation of these modern protocols can be problematic for existing systems and often add overhead to existing systems, due to additional layers of protocol required for implementation and ‘non-native’ handling requirements for a particular existing system.
Problems associated with existing message transfer options, as outlined above, need to be addressed to improve message transfer and reduce limitations, particularly with regard to message transfer by SMS.